package com.spider.demo10bufferedReader;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

public class BufferedTest {
    public static void main(String[] args) {
        //目标：完成出师表顺序的恢复。
        //1.创建一个字符缓冲输出流对象与源文件链接。
        try (BufferedReader br = new BufferedReader(new FileReader("D:\\CODE\\study_-java\\javaseprojectmax\\day03-file-io\\src\\csb.txt"));
        ){
            //2.提前准备一个List集合存储每段内容。
            List<String> list = new ArrayList<>();
            //3.按照行读取数据，存入到data集合中去。
            String line ;
            while ((line = br.readLine()) != null){
                list.add(line);
            }
            //4.给集合中的每段内容按照首字母进行排序。
            Collections.sort( list, (o1, o2)-> o1.charAt(0) - o2.charAt(0) );
            System.out.println( list);
            //5.按照顺序写入到目标文件。
            try (BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\CODE\\study_-java\\javaseprojectmax\\day03-file-io\\src\\csb_sort.txt"));
            ){
                for (String s : list) {
                    bw.write(s);
                    bw.newLine();
                    bw.flush();
                }
                System.out.println("排序完毕！");
            }

        }catch (Exception e){
            e.printStackTrace();
        }

    }
}
